In recent years, a so-called memory card (an example of recording medium) is widely known where a nonvolatile memory such as a flash memory is packaged into a card shape. The memory card has been rapidly spreading as a data storage medium used for digital devices such as a digital camera and a portable music player. There are no unified specifications for memory cards. Various types of memory cards are on the marketplace such as a compact flash (registered trademark, hereinafter referred to as the “CF”), smart media (registered trademark, hereinafter referred to as the “SM”), a memory stick (registered trademark, hereinafter referred to as the “MS”), and an SD memory card (registered trademark, hereinafter referred to as the “SD”).
An access from such a memory may be available to a PC by using a memory card reader/writer (one example of peripheral device, hereinafter abbreviated as the “reader/writer) used to read/write from/to a memory card while connected to a PC. This allows data communications between a PC and a memory card. Such a reader/writer may be a single slot type equipped with a slot for inserting a memory card and multi-spot type including multiple slots to allow data read/write from/to more than one memory card, as disclosed in JP-A-2005-18645 and JP-A-2005-107875.
To read/write data stored in a memory card from/to a PC by using a reader/writer, it is necessary to recognize a reader/writer and install driver software to allow access to an inserted memory card. In recent years, an operating system (hereinafter abbreviated as the OS) for a PC comes preinstalled with driver software to support various types of reader/writer and memory cards. On the other hand, a PC including an OS such as a Windows98 and Windows2000 (Windows is a registered trademark) as earlier version of windows (hereinafter referred to as a lower-rank OS) than the multi-slot type developed after the single-slot type does not have dedicated driver software supporting the multi-slot type. The user thus needs to install dedicated compatible driver software as in the related art practice. In case a multi-slot type reader/writer (hereinafter referred to the multi-reader/writer) should be connected to a PC including a lower rank OS, access to only a predetermined slot is allowed.
Data communications between a PC and a reader/writer, that is, a communication protocol used for data communications between a PC and a memory card is often designed so that the data communications may be performed based on an SCSI command defined in the SCSI standard. The SCSI standard is a communication protocol established by the ANSI (American national Standard Institute) and enjoys global conformance. The SCSI command is a command term specified in the SCSI standard. Such a communication protocol is capable of enhancing the versatility of a PC and a reader/writer and is thus widely used. In the following description, the SCSI standard mainly refers to SCSI-2.
Data communications made based on an SCSI command between a PC 3 and a reader/writer 77 connected via USB (“Universal Serial Bus”) to the PC 3 via a USB-I/F 78 will be described referring to FIG. 13. FIG. 13 is a conceptual drawing for explaining an OS 70 (Windows2000 in this example) running on the PC 3 and an application running on the OS 70. The OS 70 has a basic system including a GUI (Graphical User Interface) 71, a file system 72 and an OS kernel 73. The GUI 71 is a user interface that provides the user's input by way of computer graphics and a pointing device such as a mouse. The file system 72 includes a method of managing data by using files and folders in a computer and its management system. The OS kernel 73 is a software program that implements basic features such as one supervising applications and peripheral device. The PC 3 has driver software 74 preinstalled therein to allow an access to a reader/writer. The driver software 74 is implemented in modular form in the OS kernel 73.
As shown in the figure, assume that the Explorer 75 as an example of application used to access the reader/writer 77 and an R/W application 76 are activated on the PC 3. The Explorer 75 is created in conformity to the system of the OS 70 and generally recognized as a feature of the OS 70. Thus, the Explorer 75 communicates with the reader/writer 77 via the file system 72. On the other hand, the R/W application 76 is a unique software application developed by the manufacturer of the reader/writer 77 and performs processing to write or read data to/from a recording medium inserted into the reader/writer 77. In general, the R/W application 76 is created without conformity to the OS 70 because the specifications of the file system 72 are not made public.
First, an access to the reader/writer 77 from the Explorer 75 will be described. Once the OS 70 is activated and the Explorer 75 is accordingly activated, the Inquiry command (one example of SCSI command) is issued to the OS kernel 73 via the file system 72 by the Explorer 75. Note that all SCSI commands including the Inquiry command are designed to be issued to an SCSI command processing entry 79 virtually provided to the OS kernel 73. When the Inquiry command is issued, configuration information such as the type and device name of the reader/writer 77, SCSI-ID, presence/absence of LUN and type of memory card are returned from the reader/writer 77. This allows the reader/writer 77 to be recognized. When the reader/writer 77 is recognized, a drive icon of the reader/writer 77 is created on the Explorer 75 by the GUI 71. When the user accesses the drive icon by using a mouse to enter a data read instruction, the Explorer 75 engages the file system 72 to issue the Read command (one example of SCSI command). On the other hand, when the user enters a write instruction, the Explorer 75 engages the file system 72 to issue the Write command (one example of SCSI command) These command data are transferred to the reader/writer 77 via an I/F such as the USB, followed by data read/write operation on the reader/writer 77 in accordance with the command. The Inquiry command is issued also when the poser of the PC 3 is reset with the reader/writer 77 connected.
Next, an access to the reader/writer 77 from the R/W application 76 will be described. Once the R/W application 76 is activated, a request to open a data bus to the R/WW application alone is issued to the OS kernel 73. Receiving this request, the OS kernel 73 causes the R/W application 76 to occupy the data bus. In other words, the SCSI command issued to the SCSI command processing entry 79 is not accepted at the SCSI command processing entry 79. Thus, while the R/W application 76 is being activated, the file system 72 cannot access the reader/writer 77. When the R/W application 76 is activated, an input screen (user interface screen) programmed by the R/W application 76 is presented on the display via the GUI 71. The Inquiry command is issued to the OS kernel 73 by the driver software 74 to acquire configuration information such as the type and device name of the reader/writer 77. This allows the reader/writer 77 to be recognized. After that, data read/write operation is made on the reader/writer 77 in accordance with the Read command or Write command issued to the OS kernel 73 by the driver software 74.
Recognition of the reader/writer 77 is made as follows. First, the Inquiry data generated when the Inquiry command is issued to the OS kernel 73 is transmitted to the reader/writer 77. Receiving the Inquiry data, the reader/writer 77 references various information included in the Inquiry data to generate configuration information in accordance with the information, and transmits Standard-Inquiry data including the configuration information to the PC. Based on the returned Standard-Inquiry data, the reader/writer 77 is recognized.